#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //声明中find
    connect(this, &Widget::mySignal, this, &Widget::handleMySignal);//目前只是建立了连接，还没有信号发出来呢！！！

    //如何才能触发自定义信号呢？
    //Qt内置的信号都不需要我们手动通过代码来触发，用户在GUI，进行某些操作，就会自动触发对应信号（发射信号的代码已经内置到Qt框架中了）
    //我们可以通过emit关键字来发送信号

    //emit mySignal();//当然了，这个代码信号的发送可以在合适的代码中写
}

Widget::~Widget()
{
    delete ui;
}

void Widget::handleMySignal(const QString& text)
{
    this->setWindowTitle(text);
}

void Widget::on_pushButton_clicked()
{
    emit mySignal(10);
}


void Widget::on_pushButton_2_clicked()
{
    emit mySignal(20);
}

//通过这一套信号槽，搭配不同的参数，就可以起到设置不同的标题的效果！

//Qt中很多的内置的信号，也是带有参数的，只不过这些参数不是我们自己传递的
//clicked就带有一个参数 --- bool
//这个参数表示当前按钮是否处于选中状态
//这个选中状态对于QPushButton没啥意义，但是对于QCheckBox复选框就很有用了！

